The term “Web service” typically refers to a modular application that can be invoked through the Internet. The consumers of Web services are typically other software applications that communicate, usually over HTTP (Hyper Text Transfer Protocol), using XML (extensible Markup Language) standards including SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and UDDI (Universal Description, Discovery, and Integration). In other words, a “Web service” is an application hosted on a Web server that provides information and services to other network applications using the HTTP and XML protocols. Conceptually, a Web service can be understood as an URL-addressable library of functionality that is entirely independent of the consumer and stateless in its operation.
A conventional technique for accessing Web services is shown in FIG. 1. The client sends individual SOAP requests to each Web service and then receives individual SOAP responses from each Web service. In the example shown in FIG. 1, the client establishes three separate and direct communication sessions with each of the three Web services, which burdens the communication link between the client and the data network hosting the Web services. Furthermore, if dynamic endpoints have to be reset, for example for load balancing, the dynamic endpoints need to be reset at the client, which also burdens the communications link between the client and the data network. For wireless clients accessing Web services, this is particularly problematic since the wireless link typically has limited bandwidth.
Accordingly, it would be highly desirable to provide a system and method that enables a client to efficiently access Web services.
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.